package com.hy.medicine;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hy.medicine.evaluation.pojo.MedicineEvaluationReply;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 药品评价表
 *
 * @TableName medicine_evaluation
 */
@TableName(value = "medicine_evaluation")
@Data
public class MedicineEvaluation {
    /**
     * 评价唯一标识
     */
    @TableId(type = IdType.AUTO)
    private Integer evaluationId;

    /**
     * 评价用户ID
     */
    private Integer userId;

    /**
     * 关联 medicine_basic_info 的 medicine_id
     */
    private Integer medicineId;

    /**
     * 关联 medicine_order 的 order_id
     */
    private Long orderId;

    /**
     * 评价内容
     */
    private String evaluationContent;

    /**
     * 评分（1-5分）
     */
    private Integer evaluationScore;

    private Integer evaluationStatus; // 状态(0-待审核 1-已通过 2-已拒绝 3-已删除)

    private Integer isAnonymous; // 是否匿名(0-否 1-是)

    private Integer likeCount; // 点赞数

    private Integer replyCount; // 回复数

    private Date createTime; // 创建时间

    private Date updateTime; // 更新时间

    // 非数据库字段
    @TableField(exist = false)
    private String userName; // 用户名
    @TableField(exist = false)
    private Boolean isLiked; // 当前用户是否点赞
    @TableField(exist = false)
    private List<MedicineEvaluationReply> replies; // 评价回复列表
}
